package com.marketlive.app.b2c.common.constants;

/**
(C) Copyright MarketLive. 2006. All rights reserved.
MarketLive is a trademark of MarketLive, Inc.
Warning: This computer program is protected by copyright law and international treaties.
Unauthorized reproduction or distribution of this program, or any portion of it, may result
in severe civil and criminal penalties, and will be prosecuted to the maximum extent
possible under the law.
*/

/**
 * Constants for configuration properties.
 */

public final class ConfigProperties {

    /** Hidden constructor. */
    private ConfigProperties() { /*hide constructor*/ };

    /** Wish List module configuration properties. */
    public static final String WISHLIST_NAME_MAX_LENGTH = "app.b2c.global.FormFields.wishListNameMaxLength";
    public static final String WISHLIST_RECIPIENT_MAX_NUMBER = "app.b2c.wishlist.send.max_number_recipients";

    /** Configuration Property Keys for Site Search. */
    public static final String FILTER_ACTIVE_ONLY = "app.b2c.p2p.search.filter_active_only";
    public static final String FILTER_ONLY_AVAIL_SKUS = "app.b2c.p2p.search.filter_only_active_skus";
    public static final String FILTER_GET_FAMILIES_FOR = "app.b2c.p2p.search.filter_get_families_for";
    public static final String FILTER_SHOW_ONLY_FAMILIES = "app.b2c.p2p.search.filter_show_only_families";
    public static final String MAXIMUM_SEARCH_RESULTS = "app.b2c.p2p.search.maximum_search_results";
    public static final String SEARCH_PRODUCTS_PER_PAGE = "app.b2c.p2p.search.products_per_page";
    public static final String SEARCH_SORT_OPTIONS = "app.b2c.p2p.search.sort_options";
    public static final String FACET_NAV_SORT_OPTIONS = "app.b2c.p2p.search.facet_nav_sort_options";
    public static final String SEARCH_PAGING_TYPE = "app.b2c.p2p.search.paging_type";

    public static final String MIN_KEYWORD_LEN = "app.b2c.global.FormFields.searchMinLength";
    public static final String MAX_KEYWORD_LEN = "app.b2c.global.FormFields.searchMaxLength";

    // directory properties
    public static final String VIEW_ALL_MAX = "app.b2c.p2p.directory.view_all_max";
    public static final String DISPLAY_FOR_VIEWALL = "app.b2c.p2p.directory.display_for_viewall";

    /** Configuration Property Keys for EmailSignup Action. */
    public static final String THANK_YOU_HEADER_IMAGE = "app.b2c.ancillary.ThankYou.emailsignup_image";
    public static final String THANK_YOU_EMAIL_SIGNUP_KICKER = "app.b2c.ancillary.ThankYou.emailsignup_kicker";

    /** Configuration Property Keys for Unsubscribe Action. */
    public static final String EMAIL_UNSUBSCRIBE_HEADER_IMAGE = "app.b2c.ancillary.ThankYou.unsubscribe_image";
    public static final String THANK_YOU_EMAIL_UNSUBSCRIBE_KICKER = "app.b2c.ancillary.ThankYou.unsubscribe_kicker";

    /** Configuration Property Keys for Account AddressBook Action. */
    public static final String ADDRESSBOOK_NAV_IMAGE = "app.b2c.account.HeaderNavModel.addressbook_image";

    /** Configuration Property Keys for RegisterAddress Action. */
    public static final String REGISTER_NAV_IMAGE = "app.b2c.account.HeaderNavModel.registeraddress_image";

    /** Configuration Property Keys for RegisterUser Action. */
    public static final String REGISTER_USER_HAS_HINT = "app.b2c.account.Hint.hasHint";
    public static final String REGISTER_USER_HINT_MAXLENGTH = "app.b2c.global.FormFields.hintAnswerMaxLength";
    public static final String REGISTER_USER_NAV_IMAGE = "app.b2c.account.HeaderNavModel.registeruser_image";

    /** Configuration Property Keys for CatalogRequest Action. */
    public static final String CATALOG_REQUEST_THANKYOU_IMAGE = "app.b2c.ancillary.ThankYou.requestcatalog_image";
    public static final String CATALOG_REQUEST_THANKYOU_KICKER = "app.b2c.ancillary.ThankYou.requestcatalog_kicker";

    /** Configuration Property Keys for ContactUs Action. */
    public static final String CONTACT_US_THANKYOU_IMAGE = "app.b2c.ancillary.ThankYou.contactus_image";
    public static final String CONTACT_US_THANKYOU_KICKER = "app.b2c.ancillary.ThankYou.contactus_kicker";

    /** Configuration Property Keys for Account actions. */
    public static final String ACCOUNT_HAS_HINT = "app.b2c.account.Hint.hasHint";

    /** Configuration Property Keys for Order History actions. */
    public static final String ORDER_HISTORY_IMAGE = "app.b2c.account.HeaderNavModel.orderhistory_image";
    public static final String ORDER_ITEM_HISTORY_IMAGE = "app.b2c.account.HeaderNavModel.itemhistory_image";

    /** Configuration Property Keys for Login/Logout actions. */
    public static final String LOGIN_IMAGE = "app.b2c.account.HeaderNavModel.login_image";

    /** Configuration Property Keys for Login/Logout actions. */
    public static final String GATEWAY_IMAGE = "app.b2c.account.HeaderNavModel.gateway_image";

    /** Configuration Property Keys for Basket actions. */
    public static final String RETURN_TO_DETAIL_PAGE_CONF = "app.b2c.p2p.ProductDetail.returnToDetailPage";

    /** Boolean configuration option controlling whether breadcrumb displays current page. */
    public static final String BREADCRUMB_SHOWS_CURRENT_PAGE = "app.b2c.nav.CategoryNav.breadCrumbShowsCurrentPage";

    /** Configuration property to select which skus are presented in option menu(s). */
    public static final String OPTIONS_SKU_SELECTION = "app.b2c.p2p.dependentOptionMenus.skuSelection";

    /** Configuration property for dependent menus messaging to show in-stock availability. */
    public static final String OPTIONS_MESSAGING_AVAILABILITY_IN_STOCK =
                                    "app.b2c.p2p.dependentOptionMenus.messagingAvailabilityInStock";

    /** Configuration property for dependent menus messaging to show back-ordered availability. */
    public static final String OPTIONS_MESSAGING_AVAILABILITY_BACK_ORDERED =
                                    "app.b2c.p2p.dependentOptionMenus.messagingAvailabilityBackOrdered";

    /** Configuration property for dependent menus messaging to show out of stock availability. */
    public static final String OPTIONS_MESSAGING_AVAILABILITY_OUT_OF_STOCK =
                                    "app.b2c.p2p.dependentOptionMenus.messagingAvailabilityOutOfStock";

    /** Configuration property for dependent menus messaging to show no sku available. */
    public static final String OPTIONS_MESSAGING_AVAILABILITY_NO_SKU =
                                    "app.b2c.p2p.dependentOptionMenus.messagingAvailabilityNoSku";

    /** Configuration property for dependent menus messaging to show availability in menu or outside of menu. */
    public static final String OPTIONS_MESSAGING_AVAILABILITY_IN_MENU =
                                    "app.b2c.p2p.dependentOptionMenus.messagingAvailabilityInMenu";

    /** Configuration property for dependent menus messaging to show price. */
    public static final String OPTIONS_MESSAGING_PRICE = "app.b2c.p2p.dependentOptionMenus.messagingPrice";

    /** Configuration property for dependent menus messaging to show price in menu or outside of menu. */
    public static final String OPTIONS_MESSAGING_PRICE_IN_MENU =
                                    "app.b2c.p2p.dependentOptionMenus.messagingPriceInMenu";

    /** Configuration property to show swatches on single product page. */
    public static final String SWATCHES_SHOW_ON_SINGLE_PRODUCT = "app.b2c.p2p.detailImageSwatches.showOnSingleProduct";

    /** Configuration property to show swatches on family page. */
    public static final String SWATCHES_SHOW_ON_FAMILY = "app.b2c.p2p.detailImageSwatches.showOnFamily";

    /** Configuration property to show option value near detail image. */
    public static final String SWATCHES_SHOW_OPTION_VALUE_NEAR_DETAIL =
                                    "app.b2c.p2p.detailImageSwatches.showOptionValueNearDetail";

    /** Configuration property to change the detail image on swatch hover. */
    public static final String SWATCHES_CHANGE_DETAIL_ON_HOVER = "app.b2c.p2p.detailImageSwatches.changeDetailOnHover";

    /** Configuration property to set swatch wrap count. */
    public static final String SWATCHES_SWATCH_WRAP_COUNT = "app.b2c.p2p.detailImageSwatches.swatchWrapCount";

    /** Configuration property to set width and height of view larger window. */
    public static final String VIEW_LRGER_FLYOPEN_JS = "app.b2c.common.FlyOpen.viewLarger";

    /** Configuration property to set width and height of additional views window. */
    public static final String ADDITIONAL_VIEWS_FLYOPEN_JS = "app.b2c.common.FlyOpen.additionalViews";

    /** Configuration property to bypass stock availability on add to basket if item back-ordered. */
    public static final String STOCK_AVAILABILITY_BYPASS_ON_ADD_TO_BASKET =
                            "app.b2c.p2p.StockAndAvailability.bypassAvailabilityAddToBasket";

    /** Configuration property representing the type of product text used on detail support pages. */
    public static final String DETAIL_SUPPORT_PRODUCT_TEXT_TYPE =
                            "app.b2c.p2p.ProductDetail.detail_support_product_text_type";

    /** A constant for holding the path to the sort_by_submit_date_ascending configuration property. */
    public static final String SORT_ASCENDING = "app.b2c.p2p.customerreview.sort_by_submit_date_ascending";

    /** String representing the root of the reporting configuration tree. */
    public static final String REPORTING_ROOT =
                            "app.b2c.reporting.reporting.";

    /** Configuration property indicating if Omniture reporting is enabled. */
    public static final String OMNITURE_ENABLED =
                            "app.b2c.reporting.reporting.omniture";

    /** Configuration property that contains the Omniture suite ID. */
    public static final String OMNITURE_SUITE_ID =
                            "app.b2c.reporting.reporting.omnitureSuiteID";

    /** Configuration property key that indicates if the user's active language name
     * should be added to the page name.
    **/
    public static final String OMNITURE_ADD_LANGUAGE_NAME_TO_PAGENAME =
                            "app.b2c.reporting.reporting.add.lang.to.pagename";

    /** Configuration property indicating if Google Analytics reporting is enabled. */
    public static final String GOOGLE_ANALYTICS_ENABLED =
                            "app.b2c.reporting.reporting.googleanalytics";

    /** Configuration property that contains the Google Analytics account ID. */
    public static final String GOOGLE_ANALYTICS_ACCOUNT_ID =
                            "app.b2c.reporting.reporting.googleanalyticsAccountID";

    /** Configuration property that contains the domain name for Google Analytics. */
    public static final String GOOGLE_ANALYTICS_DOMAIN_NAME =
                            "app.b2c.reporting.reporting.googleAnalyticsDomainName";
    
    public static final String SHOW_COUNT = "app.b2c.nav.FacetedNav.show_count";

    /** A constant for holding the path to the useAutoComplete configuration property. */
    public static final String AUTO_COMPLETE_MAX_RESULTS = "app.b2c.TopNavModel.autoCompleteMaxResults";
}
